"""用户密钥生成示例：把 partial_key 与本地随机秘密组合生成完整私钥/公钥对（示例）。
"""
import secrets
from typing import Tuple


def user_full_key(partial_key: int) -> Tuple[bytes, bytes]:
	"""生成本地私钥 x，与 partial_key 合并形成 sk（示例：简单异或/混合后编码）。

	返回 (sk_bytes, pk_bytes)。在示例中 pk==sk 用于简化验证逻辑。
	"""
	# 生成一个本地随机 32 字节秘密
	x = secrets.token_bytes(32)
	# 将 partial_key 转为 32 字节（截断或左填充）
	pk_bytes = partial_key.to_bytes(32, "big", signed=False)
	# 混合 partial + x -> sk
	sk = bytes(a ^ b for a, b in zip(pk_bytes, x))
	# 为简化，设置 pk = sk（示例环境）；真实场景为公钥派生
	return sk, sk

